import axios from 'axios'
import ElementUI from "element-ui";
// 创建axios实例
const request = axios.create({
    // 基础地址
    baseURL: 'http://localhost:9090',
    // 超时时间
    timeout: 50000
})
// axios请求拦截器
request.interceptors.request.use(config => {
    // 请求之前处理的信息
    config.headers['Content-Type'] = 'application/json;charset=UTF-8';
    // 设置请求头的token信息
    config.headers['Token'] = localStorage.getItem('token') ? localStorage.getItem('token') : ''
    return config
}, error => {
    // 请求失败了处理的信息
    return Promise.reject(error)
})

// axios响应式拦截器
request.interceptors.response.use(response => {
    // response 这个并不是后端直接返回的数据，里面有详细的相应体数据
    // console.log(response)
    // 判断响应状态码
    if (response.status == 200) {
        // console.log('响应成功')
        // 成功响应
        return Promise.resolve(response.data)  // .then方法就可以拿到数据
    }

}, error => {
    // 除去200开头的状态码，都会进入到这里
    // 相应失败了，处理的信息
    // 处理错误，例如打印错误信息或返回错误对象
    ElementUI.Message({
        message: error.response.data,
        type: 'error'
    })
    return Promise.reject(error.response.data) // .catch方法可以拿到错误信息
})

export default request
